home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 36 / PC Gamer IT CD 36 2-2.iso / VIGDEMO / data1.cab / Assets / scripts / autogun.e < prev    next >
Text File  |  1998-09-21  |  5KB  |  703 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446. int Initialize(string type)
  447. {
  448.     global int state ;
  449.     global real repeatTime = .3;
  450.     global int maxBullet = 200;
  451.     global int gBulletCount = 20;
  452.     global int hitValue = 1;
  453.     global int gGravity = 0;
  454.     global int gClipSize = 30;
  455.     global int gStartSound = 0;
  456.     global int gEndSound = 19;
  457.     global int gReloadSound = 23;
  458.     Reset("dumy");
  459.     return 0;
  460.  
  461. }
  462.  
  463. int startsound(string soundname)
  464. {
  465.     gStartSound = GetSoundIndex(soundname);
  466.  
  467. }
  468.  
  469. int endsound(string soundname)
  470. {
  471.     gEndSound = GetSoundIndex(soundname);
  472.  
  473. }
  474.  
  475. int reloadsound(string soundname)
  476. {
  477.     gReloadSound = GetSoundIndex(soundname);
  478.  
  479. }
  480.  
  481. int Reset(string dummy)
  482. {
  483.     state = 0;
  484.     SetCollidableProperties(thisObject,gGravity,0);
  485.     SetStyle(thisObject,2);
  486.     gBulletCount = gClipSize;
  487.  
  488.     SetScale(thisObject,2.0);
  489.     
  490.     wakeupTime = -1.0;
  491.     return 0;
  492. }
  493.  
  494.  
  495. int reload(string count)
  496. {
  497.     int add;
  498.     add  = Str2Int(count);
  499.     if (add > 0)
  500.     {
  501.         PlaySound(thisObject,gReloadSound);
  502.         gBulletCount += add;
  503.     }
  504.     state = 0;
  505. }
  506.  
  507. int clipsize(string count)
  508. {
  509.     gClipSize = Str2Int(count);
  510.     gBulletCount = gClipSize;
  511. }
  512.  
  513. int GetMaxAmmo(string dummy)
  514. {
  515.     ReturnValue(thisObject, gClipSize);
  516. }
  517.  
  518. int addammo(string count)
  519. {
  520.     int value = Str2Int(count);
  521.     gBulletCount = gBulletCount + value;
  522. }
  523.  
  524. int gravity(string flag)
  525. {
  526.     int value;
  527.     value = Str2Int(flag);
  528.  
  529.     gGravity = value;
  530.     SetCollidableProperties(thisObject,gGravity,0);
  531. }
  532.  
  533. int damage(string str)
  534. {
  535.     hitValue = Str2Int(str);
  536.     print("g20 hitvalue");
  537.     return 0;
  538. }
  539.  
  540. int repeattime(string str)
  541. {
  542.     repeatTime = Str2Real(str);
  543.     return 0;
  544. }
  545.  
  546. int Colliders(string dummy) 
  547. {
  548.     
  549.     map::iterator ix;
  550.     map objInList;
  551.     int value;
  552.  
  553.     objInList = Collisions(thisObject,0,1,0);
  554.  
  555.     for (ix = begin(objInList) ;ix != end(objInList); ++ix) 
  556.     {
  557.         value = AddObjectTo(first(dereference(ix)),thisObject);
  558.         if (value != 0)
  559.         {
  560.             PlaySound(thisObject,35);
  561.             SetScale(thisObject,1.0);
  562.             break;
  563.         }
  564.     }
  565.     
  566.     return 0;
  567. }
  568.  
  569.  
  570. int Launch(string dummy)
  571. {
  572.     SetScale(thisObject,2.0);
  573. }
  574.  
  575. int Drop(string dummy)
  576. {
  577.     int returnBullet;
  578.     Launch(dummy);
  579.     SetCollidableProperties(thisObject,gGravity,0);
  580.     SetStyle(thisObject,2);
  581.     PlaySound(thisObject,38);
  582.     
  583.     ReturnValue(thisObject,0);
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596. }
  597.  
  598. int AmmoCount(string dum)
  599. {
  600.     ReturnValue(thisObject,gBulletCount);
  601. }
  602.  
  603. int Draw(string ammoCount)
  604. {
  605.     gBulletCount = Str2Int(ammoCount);
  606. }
  607.  
  608. int Pickup(string dummy)
  609. {
  610.     ReturnValue(thisObject,gBulletCount);
  611.     gBulletCount = 0;    
  612. }
  613.  
  614. int Holster(string dummy)
  615. {
  616.     ReturnValue(thisObject,gBulletCount);
  617.     gBulletCount = 0;        
  618. }
  619.  
  620. int SetBulletCount(int count)
  621. {
  622.     gBulletCount = count;
  623. }
  624.  
  625. int GetDamage(string hello)
  626. {
  627.     ReturnValue(thisObject,hitValue);
  628. }
  629.  
  630. int FireFulfill(int notused)
  631. {
  632.     real time ;
  633.     time = GetTime(thisObject);
  634.  
  635.     state = 2;
  636.     wakeupTime = time + repeatTime;
  637.     PlaySound(thisObject,gStartSound);
  638.     Animate(thisObject,1,"fire");    
  639.     LaunchBeam(thisObject,0,1.0,3.0,"tracer",0.25,0.75);
  640.  
  641.     LaunchMuzzleFlash(thisObject);
  642.     ParentFire(thisObject);
  643.     if (GetHit(thisObject) == 1) 
  644.     {
  645.         HitTarget(thisObject,1.0);
  646.     }
  647.     else
  648.     {
  649.         MakeDecal(thisObject,1,0,"grafitti");
  650.         PlaySound(thisObject,gEndSound,1);
  651.     }
  652. }
  653.  
  654. int GetFireTime(string dummy)
  655. {
  656.     ReturnValueReal(thisObject,repeatTime);
  657.     return 0;
  658. }
  659.  
  660. int Fire(int flag)
  661. {
  662.     real time ;
  663.     int retValue = 0;
  664.     int hit;
  665.     time = GetTime(thisObject);
  666.  
  667.     if (UnlimitedAmmo(thisObject) == 1)
  668.         gBulletCount = gClipSize;
  669.  
  670.     if (state == 0) 
  671.     {
  672.  
  673.         {
  674.             if (gBulletCount >= 1)
  675.             {
  676.                 state = 2;
  677.                 gBulletCount--;    
  678.                 FireSaveInfo(thisObject,hitValue,gBulletCount,1.0);
  679.                 FireCommand(thisObject);
  680.                 wakeupTime = time + repeatTime;
  681.                 retValue = 1;
  682.             }
  683.             else
  684.             {
  685.                 state = 5;
  686.                 ParentReloadCommand(thisObject);
  687.             }
  688.         }
  689.     }
  690.     ReturnValue(thisObject,retValue);    
  691.  
  692.     return 0;
  693. }
  694.  
  695. int TimedEvent(int input)
  696. {
  697.     state = 0;
  698.     Animate(thisObject,0,"fire");
  699.     wakeupTime = -1.0;
  700.     return 0;
  701. }
  702.  
  703.